Logic program development based on typed moded schemata and data types
نویسنده
چکیده
The main contribution of the thesis is to develop a comprehensive framework for developinglogic programs using ve program schemata and some basic data types, and to evaluate itssuitability for developing sizable programs. The schemata are intended to capture designdecisions made by a programmer during top-down re nement of a predicate. The schemataare completely independent from the data types, and have associated types and modes. Themethod of construction is to start from an initial typed moded call, and proceed using pre-cisely de ned re nement operations until primitive data type operations are introduced. It isshown that the construction method produces programs that are polymorphic many-sortedformulas, and that computations using the programs cannot result in type or mode errors.The framework is compared with previous schema-based program development methodsfrom the literature, and we argue that this method is better suited to the development ofnon-trivial programs, and is more amenable to computerised support. The introductionof types and modes into schemata is a signi cant addition, not previously reported. Anapproach to program veri cation is also introduced, in which the proof of correctness of aprogram is built from proof schemata corresponding to the program schemata used in thedesign of the program. Finally an implementation of the system is described and its useis illustrated on some sizable programs. The implementation incorporates a static analysisalgorithm for checking the validity of the modes during the development of the program.
منابع مشابه
Correctness of logic programs using proof schemes
The correctness of logic programs which are constructed by a schema-based method is presented in this paper. This schema-based method constructs typed, moded logic programs by stepwise top-down design using five program schemata, data types and modes. Correctness proofs in this approach are guided by the constructed logic programs. A proof scheme is proposed for each program schema. It is claim...
متن کاملMode Checking Using Constrained Regular Trees
In a previous paper we presented a high level polymorphic mode system for logic programs. In this paper we present an algorithm which checks if a program is well moded, given that is it well-typed in the sense of Mycroft and O'Keefe. A program is well-moded if the set of ground atoms deened by mode declarations is a superset of the success set. The novelty of the algorithm is the expressiveness...
متن کاملar X iv : c s . SE / 0 01 20 07 v 3 5 J an 2 00 1 Kima – an Automated Error Correction System for Concurrent Logic Programs
We have implemented Kima, an automated error correction system for concurrent logic programs. Kima corrects near-misses such as wrong variable occurrences in the absence of explicit declarations of program properties. Strong moding/typing and constraint-based analysis are turning to play fundamental roles in debugging concurrent logic programs as well as in establishing the consistency of commu...
متن کاملProgram Development Schemata as Derived Rules
We show how the formalization and application of schemata for program development can be reduced to the formalization and application of derived rules of inference. We formalize and derive schemata as rules in theories that axiomatize program data and programs themselves. We reduce schema-based program development to ordinary theorem proving, where higher-order uniication is used to apply rules...
متن کاملSchema-Based Top-Down Design of Logic Programs Using Abstract Data Types
This paper presents a set of schemata that support stepwise top-down design of logic programs using abstract data types (ADTs). There are thus three main components to this approach: top-down design, program schemata and ADTs, all of which are already well established notions. Our aim is to combine these ideas in a framework, amenable to support by design tools and allowing the use of existing ...
متن کامل